Skip to content

Docs/drop public beta posture - #238

Merged
docushell-dev merged 3 commits into
mainfrom
docs/drop-public-beta-posture
Aug 30, 2026
Merged

Docs/drop public beta posture#238
docushell-dev merged 3 commits into
mainfrom
docs/drop-public-beta-posture

Conversation

@docushell-dev

Copy link
Copy Markdown
Collaborator

No description provided.

docushell-dev and others added 3 commits August 30, 2026 13:23
…an parse it

`cli-draft-artifacts` failed on both macOS arm64 and Linux x64 at `derive candidate version`,
before assembling anything:

    syntax error near unexpected token `tomllib.load'

The step was a YAML **plain** scalar containing `\"`. Plain scalars do not process escapes, so
the backslashes reached bash literally, the command substitution's quoting fell apart, and
python was never invoked. The pwsh sibling in `windows-verify-draft-artifact` was always written
as a block scalar with ordinary quotes, always worked, and passed in this same run — the two
were never equivalent, they only looked it.

Reproduced locally before changing anything, byte-identical error text to the runner's, and the
fixed step then run end to end through the YAML parser with a runner-equivalent Python 3.12:
`value=0.6.0`, matching `Cargo.toml`. `tomllib` needs 3.11+, which the runners have and this
machine's default 3.9 does not; that the Windows job imports the same module and passed is the
evidence it is present there.

This step had never executed. `release.yml` triggers on `v*` tags and its only two prior runs
failed at preflight, so every job after it was skipped and this bug shipped invisibly from the
day it was written. Same shape as `v0-fuzz-smoke` in ethos-parser earlier today: a job that
never ran is a job whose failures are indistinguishable from its absence.

`test_release_reproducibility_scaffold.py` and `test_release_artifact_workflow_prep.py`, the two
scripts that read this workflow, both pass. So do all nine preflight scripts and
`make release-gates`.

Signed-off-by: docushell-dev <hello@docushell.com>
The README opened with a `status: public beta` badge and a blockquote headed
"Status: public beta evaluation" enumerating the evaluation surfaces. Arriving
at a 0.6.0 release, that reads as "not ready yet". It is replaced by what Ethos
is and where it ships, with no version enumeration, so the header stops going
stale on every release.

The block was not decorative. `test_public_surface_posture.py` asserted it was
present, and `release.yml` runs that script as preflight step one — which is why
3777cc9 removed it and 8c2d13f had to restore it. So the gates move with the
posture rather than against it: the posture test now asserts the beta wording is
absent, and `claims_gate.py` trades its `production-ready` / `release-ready` /
`launch-ready` / `package-ready` bans for `pre-alpha` / `public beta` /
`beta evaluation`. The unearned-claim bans — superlatives, speed,
`benchmark-validated` — are untouched, so dropping the hesitation buys no
overclaim.

`release-state.json` drops `production positioning` and `additional release tags
or release targets` from `blocked_lanes`; both blocked the release this describes.
Hosted surfaces, Windows artifacts, bundled PDFium, benchmark claims, ethos-doc
and ethos-rag stay blocked, because those are facts about capability. §Claim Rules
replaces the mandated "Ethos is pre-alpha" sentence. Contract inventories carry
`"status": "supported"`, schema `const`s and their examples changed together.

Two corrections fell out of the sweep rather than being posture at all. The README
called Grounding JSON "a proposal, not a current feature" — it shipped in this
release, so the section described the repository as it stood before the work it
sits above. And the CLI printed `crop_element is source-only pre-alpha and
unsupported` at runtime; it now says `an unstable opt-in surface`, which is still
gated and still unstable, but is a fact about that surface rather than the project.

Published-version facts are unchanged. The generated block still reports 0.5.0 as
the published baseline and the install lines still pin 0.5.0, because the 0.6.0
packages are not published yet.

Dated records under `docs/validation/`, and the sections of `execution-status.md`
that its own header marks as superseded, keep their wording. They record what was
approved when; rewriting them would falsify an audit trail, not update a posture.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: docushell-dev <hello@docushell.com>
`.agents/rules/` holds per-machine agent instructions — a git identity policy,
in this case. It is local tooling config rather than repo content, and the copy
here named a personal employer address as the one to avoid, which is not
something to publish to a public repository's permanent history.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: docushell-dev <hello@docushell.com>
@docushell-dev docushell-dev self-assigned this Aug 30, 2026
@docushell-dev
docushell-dev merged commit b4ccf48 into main Aug 30, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant